package com.ruoyi.common.core.domain.entity;


import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 活动录入对象 event_detail
 * 
 * @author ruoyi
 * @date 2024-10-22
 */
public class EventDetail extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 活动id */
    private Long id;

    /** 活动图片 */
    @Excel(name = "活动图片")
    private String image;

    /** 标题 */
    @Excel(name = "标题")
    private String title;

    /** 活动位置 */
    @Excel(name = "活动位置")
    private String position;

    /** 活动描述 */
    @Excel(name = "活动描述")
    private String description;

    /** 活动开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "活动开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date eventBegin;

    /** 活动结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "活动结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date eventEnd;

    /** 报名开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报名开始时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date signupBegin;

    /** 报名结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "报名结束时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date signupEnd;

    /** 活动状态 */
    @Excel(name = "活动状态")
    private Long eventStatus;

    /** 发布者 */
    @Excel(name = "发布者")
    private String publisher;

    /** 活动积分 */
    @Excel(name = "活动积分")
    private Long credit;

    /** 活动名额 */
    @Excel(name = "活动名额")
    private Long quota;

    /** 剩余名额 */
    @Excel(name = "剩余名额")
    private Long remain;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    @Excel(name = "创建时间", readConverterExp = "$column.readConverterExp()")
    private Date createdAt;

    /** 更新时间 */
    @Excel(name = "更新时间", readConverterExp = "$column.readConverterExp()")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updatedAt;

    /** 签到码 */
    @Excel(name = "签到码")
    private String signInCode;

    /** 签退码 */
    @Excel(name = "签退码")
    private String signOutCode;


    /** 删除标志 */
    private Long isDeleted;

    /** 是否展示 */
    @Excel(name = "是否展示")
    private Boolean isShow;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setImage(String image) 
    {
        this.image = image;
    }

    public String getImage() 
    {
        return image;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setPosition(String position) 
    {
        this.position = position;
    }

    public String getPosition() 
    {
        return position;
    }
    public void setDescription(String description) 
    {
        this.description = description;
    }

    public String getDescription() 
    {
        return description;
    }
    public void setEventBegin(Date eventBegin)
    {
        this.eventBegin = eventBegin;
    }

    public Date getEventBegin()
    {
        return eventBegin;
    }
    public void seteventEnd(Date eventEnd)
    {
        this.eventEnd = eventEnd;
    }

    public Date getEventEnd()
    {
        return eventEnd;
    }
    public void setSignupBegin(Date signupBegin)
    {
        this.signupBegin = signupBegin;
    }

    public Date getSignupBegin()
    {
        return signupBegin;
    }
    public void setSignupEnd(Date signupEnd)
    {
        this.signupEnd = signupEnd;
    }

    public Date getSignupEnd()
    {
        return signupEnd;
    }
    public void setEventStatus(Long eventStatus)
    {
        this.eventStatus = eventStatus;
    }

    public Long getEventStatus()
    {
        return eventStatus;
    }
    public void setPublisher(String publisher) 
    {
        this.publisher = publisher;
    }

    public String getPublisher() 
    {
        return publisher;
    }
    public void setCredit(Long credit) 
    {
        this.credit = credit;
    }

    public Long getCredit() 
    {
        return credit;
    }
    public void setQuota(Long quota) 
    {
        this.quota = quota;
    }

    public Long getQuota() 
    {
        return quota;
    }
    public void setRemain(Long remain)
    {
        this.remain = remain;
    }

    public Long getRemain()
    {
        return remain;
    }
    public void setCreatedAt(Date createdAt) 
    {
        this.createdAt = createdAt;
    }

    public Date getCreatedAt() 
    {
        return createdAt;
    }
    public void setUpdatedAt(Date updatedAt) 
    {
        this.updatedAt = updatedAt;
    }

    public Date getUpdatedAt() 
    {
        return updatedAt;
    }
    public void setSignInCode(String signInCode)
    {
        this.signInCode = signInCode;
    }

    public String getSignInCode()
    {
        return signInCode;
    }
    public void setSignOutCode(String signOutCode)
    {
        this.signOutCode = signOutCode;
    }

    public String getSignOutCode()
    {
        return signOutCode;
    }
    public void setIsDeleted(Long isDeleted)
    {
        this.isDeleted = isDeleted;
    }

    public Long getIsDeleted()
    {
        return isDeleted;
    }
    public void setIsShow(Boolean isShow)
    {
        this.isShow = isShow;
    }

    public Boolean getIsShow()
    {
        return isShow;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("image", getImage())
            .append("title", getTitle())
            .append("position", getPosition())
            .append("description", getDescription())
            .append("eventBegin", getEventBegin())
            .append("eventEnd", getEventEnd())
            .append("signupBegin", getSignupBegin())
            .append("signupEnd", getSignupEnd())
            .append("eventStatus", getEventStatus())
            .append("publisher", getPublisher())
            .append("credit", getCredit())
            .append("quota", getQuota())
            .append("remain", getRemain())
            .append("createdAt", getCreatedAt())
            .append("updatedAt", getUpdatedAt())
            .append("signInCode", getSignInCode())
            .append("signOutCode", getSignOutCode())
            .append("isDeleted", getIsDeleted())
            .append("isShow", getIsShow())
            .toString();

    }
}
